﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace Sinacor.UI.Bovespa.ImportacaoExportacao.Presenter.IdentificacaoArquivo
{
    public class Alocacao : IdentificacaoBase
    {
        private string _header;

        public Alocacao(Model.Enum.TipoSistema tipoSistema)
            : base(tipoSistema)
        {
        }

        public override Model.Enum.TipoArquivo TipoArquivo
        {
            get { return Model.Enum.TipoArquivo.EESC; }
        }

        public override bool IdentificarArquivoTXT(string arquivo)
        {
            string tipoArquivo;
            bool retorno = false;
            System.IO.StringReader reader = new System.IO.StringReader(arquivo);
            _header = reader.ReadLine();

            if (!String.IsNullOrEmpty(_header) &&
                _header.Length >= 6)
            {
                tipoArquivo = _header.Substring(2, 4);

                retorno = (tipoArquivo == "EESC");
            }

            reader.Close();
            reader.Dispose();

            return retorno;
        }

        public override bool IdentificarDataPregao(out DateTime dataPregao)
        {
            bool retorno = false;
            dataPregao = default(DateTime);

            DateTime.TryParseExact(_header.Substring(30, 8), "yyyyMMdd", new System.Globalization.DateTimeFormatInfo(), System.Globalization.DateTimeStyles.None, out dataPregao);

            retorno = (dataPregao != default(DateTime));

            return retorno;
        }
    }
}
